Argument Value is Invalid (AVI)

Description:

AVI detects situations where an actual argument's value passed to a called method or an indexer is not valid. This will cause undesired program behavior such as throwing an exception.

Incorrect:

procedure scan(str:String; i:integer);
var c:char;
begin
    if i < 0 then
    	c := str[i];
 	...
end;